ResultSet Navigation (next(), previous(), first(), last())

Java Technologies - জেডিবিসি (JDBC) - ResultSet এবং ডেটা রিট্রাইভাল
261

JDBC (Java Database Connectivity)ResultSet একটি ইন্টারফেস যা SQL কুইরি থেকে পাওয়া ডেটা ধরে রাখে এবং অ্যাক্সেস করে। ResultSet Navigation হল সেই প্রক্রিয়া যার মাধ্যমে আপনি ResultSet এর মধ্যে ডেটা নেভিগেট করতে পারেন। JDBC-তে ResultSet এর কিছু গুরুত্বপূর্ণ মেথড রয়েছে যেমন next(), previous(), first(), এবং last() যা ডেটাবেস রেকর্ডের মধ্যে এক্সপ্লোরেশন করার জন্য ব্যবহৃত হয়।

এই গাইডে, আমরা দেখব কিভাবে next(), previous(), first(), এবং last() মেথড ব্যবহার করা হয় ResultSet এর মধ্যে ডেটা নেভিগেট করার জন্য।


1. ResultSet Navigation with next()

next() মেথড ResultSet এর পরবর্তী রেকর্ডে নেভিগেট করার জন্য ব্যবহৃত হয়। এটি যখন কল করা হয়, তখন ResultSet এর কারেন্ট রো পরবর্তী রোতে চলে যায়।

Syntax:

boolean next() throws SQLException
  • next() মেথড ResultSet এর পরবর্তী রেকর্ডে চলে যায় এবং যদি পরবর্তী রেকর্ড থাকে তবে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।

উদাহরণ:

import java.sql.*;

public class ResultSetNextExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        
        try (Connection connection = DriverManager.getConnection(url, user, password)) {
            String query = "SELECT id, name, email FROM users";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            
            // Navigate through the ResultSet using next()
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("email");
                System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
            }
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • next() মেথড ব্যবহার করে আমরা ResultSet এর মধ্যে প্রতিটি রেকর্ডে নেভিগেট করছি এবং ডেটা রিট্রিভ করছি। যতক্ষণ পর্যন্ত পরবর্তী রেকর্ড থাকে, ততক্ষণ এটি চলতে থাকবে।

2. ResultSet Navigation with previous()

previous() মেথড ResultSet এর বর্তমান রো থেকে পূর্ববর্তী রোতে নেভিগেট করতে ব্যবহৃত হয়। এটি সাধারণত ResultSet এর সঠিক অবস্থান থেকে পিছনে নেভিগেট করার জন্য ব্যবহৃত হয়।

Syntax:

boolean previous() throws SQLException
  • previous() মেথড যখন কল করা হয়, এটি বর্তমান রো থেকে এক রো পিছনে চলে যায় এবং যদি পূর্ববর্তী রেকর্ড থাকে তবে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।

উদাহরণ:

import java.sql.*;

public class ResultSetPreviousExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        
        try (Connection connection = DriverManager.getConnection(url, user, password)) {
            String query = "SELECT id, name, email FROM users";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            
            // Move the cursor to the last row first
            resultSet.last();
            
            // Now navigate backward using previous()
            do {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("email");
                System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
            } while (resultSet.previous());  // Move to previous rows
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • প্রথমে resultSet.last() ব্যবহার করে ResultSet এর শেষ রোতে চলে যাওয়া হয়, তারপর previous() মেথড ব্যবহার করে পূর্ববর্তী রোতে নেভিগেট করা হয়।
  • এটি ResultSet এর মধ্যে পেছনে যাওয়া এবং রেকর্ডগুলির উপর লুপ করা সম্ভব করে।

3. ResultSet Navigation with first()

first() মেথড ResultSet এর প্রথম রোতে চলে যেতে ব্যবহৃত হয়। এটি ResultSet এর মধ্যে প্রথম রেকর্ডে নেভিগেট করার জন্য উপযোগী।

Syntax:

boolean first() throws SQLException
  • first() মেথড কল করলে এটি ResultSet এর প্রথম রোতে চলে যায় এবং যদি প্রথম রো থাকে তবে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।

উদাহরণ:

import java.sql.*;

public class ResultSetFirstExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        
        try (Connection connection = DriverManager.getConnection(url, user, password)) {
            String query = "SELECT id, name, email FROM users";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            
            // Move to the first row
            if (resultSet.first()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("email");
                System.out.println("First Row - ID: " + id + ", Name: " + name + ", Email: " + email);
            }
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • first() মেথড ব্যবহার করে ResultSet এর প্রথম রোতে চলে যাওয়া হয় এবং সেখান থেকে ডেটা রিট্রিভ করা হয়।

4. ResultSet Navigation with last()

last() মেথড ResultSet এর শেষ রোতে নেভিগেট করতে ব্যবহৃত হয়। এটি ResultSet এর মধ্যে শেষ রেকর্ডে যাওয়ার জন্য ব্যবহার করা হয়।

Syntax:

boolean last() throws SQLException
  • last() মেথড কল করলে এটি ResultSet এর শেষ রোতে চলে যায় এবং যদি শেষ রো থাকে তবে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।

উদাহরণ:

import java.sql.*;

public class ResultSetLastExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        
        try (Connection connection = DriverManager.getConnection(url, user, password)) {
            String query = "SELECT id, name, email FROM users";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            
            // Move to the last row
            if (resultSet.last()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("email");
                System.out.println("Last Row - ID: " + id + ", Name: " + name + ", Email: " + email);
            }
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • last() মেথড ব্যবহার করে ResultSet এর শেষ রোতে চলে যাওয়া হয় এবং সেখান থেকে ডেটা রিট্রিভ করা হয়।

সারাংশ

JDBC ResultSet Navigation এর মাধ্যমে আপনি next(), previous(), first(), এবং last() মেথড ব্যবহার করে ResultSet এর মধ্যে ডেটা নেভিগেট করতে পারেন। এগুলি আপনাকে বিভিন্ন রোতে দ্রুত নেভিগেট করতে সহায়তা করে, এবং ডেটার সাথে সহজে কাজ করতে দেয়। next() সাধারণত সবচেয়ে বেশি ব্যবহৃত হয়, কারণ এটি সাধারণত আগের রেকর্ড থেকে পরবর্তী রেকর্ডে যাওয়ার জন্য ব্যবহৃত হয়। তবে, previous(), first(), এবং last() মেথডগুলোও সঠিকভাবে ব্যবহৃত হলে অত্যন্ত কার্যকরী হতে পারে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...